您可以在主从模式下在系统上运行多个AFL实例。 这将有助于利用所有cpu核心和发现错误,并将提高模糊测试速度。
首先让我们看看机器有多少个内核,键入以下命令:
$ afl-gotcpu
afl-gotcpu 2.57b by <lcamtuf@google.com>
[*] Measuring per-core preemption rate (this will take 1.00 sec)...
Core #0: CAUTION (114%)
Core #1: AVAILABLE (99%)
Core #2: AVAILABLE (103%)
Core #6: AVAILABLE (109%)
Core #3: AVAILABLE (100%)
Core #7: AVAILABLE (105%)
Core #5: AVAILABLE (102%)
Core #4: AVAILABLE (106%)
>>> PASS: You can run more processes on 7 to 8 cores. <<<
你可以看到这台机器有8个核心,所以我们可以运行8个AFL实例。 现在模糊测试示例C程序。 您需要为主实例添加-M,并为所有从实例添加-S。 他们可以互相同步。
所以运行以下命令:
$ screen -S master
$ afl-fuzz -M master -i in/ -o out/ -m none -- ./imgRead_afl @@
按ctrl+d从屏幕会话中分离,然后键入以下内容以创建另一个屏幕会话:
$screen -S slave1
$ afl-fuzz -S slave1 -i in/ -o out/ -m none -- ./imgRead_afl @@
应该只有一个主设备,但可以运行多个从设备。试试这个。
下面的屏幕截图显示了它的外观: